//#include<iostream>
//#include<string>
//#include<algorithm>
//using namespace std;
//
//int main()
//{
//	string a, b;
//	cin >> a >> b;
//	int sa = a.size(), sb = b.size();
//	int numa[18] = { 0 }, numb[18] = { 0 };
//	for (int i = a.size() - 1; i >= 0; i--)
//		numa[sa - 1 - i] = a[i] - '0';
//	for (int i = b.size() - 1; i >= 0; i--)
//		numb[sb - 1 - i] = b[i] - '0';
//	int s = max(sa, sb);
//
//	int ret[19] = { 0 };
//	for (int i = 0; i < s; i++)
//	{
//		ret[i] += numa[i] + numb[i];
//		ret[i + 1] = ret[i] / 10;
//		ret[i] %= 10;
//	}
//	if (ret[s] != 0)
//		s++;
//	while (--s >= 0)
//		cout << ret[s];
//	return 0;
//}

//#include<iostream>
//#include<string>
//#include<algorithm>
//using namespace std;
//
//const int N = 1e3 + 10;
//
//int main()
//{
//	string a, b;
//	cin >> a >> b;
//	int sa = a.size(), sb = b.size();
//	int numa[N] = { 0 }, numb[N] = { 0 };
//	for (int i = a.size() - 1; i >= 0; i--)
//		numa[sa - 1 - i] = a[i] - '0';
//	for (int i = b.size() - 1; i >= 0; i--)
//		numb[sb - 1 - i] = b[i] - '0';
//	int s = max(sa, sb);
//
//	int ret[N] = { 0 };
//	for (int i = 0; i < s; i++)
//	{
//		ret[i] += numa[i] + numb[i];
//		ret[i + 1] = ret[i] / 10;
//		ret[i] %= 10;
//	}
//	if (ret[s]) s++;
//	while (--s >= 0)
//		cout << ret[s];
//	return 0;
//}